home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1257 / string.cp_ / string.cp
Text File  |  1997-04-18  |  2KB  |  133 lines

  1. /* EasyCODE(C++) V5.1 01.03.1995 14:05:33
  2. EasyCODE(C++) sample: Program for converting character strings to upper- or low\
  3. ercase */
  4. /* EasyCODE O
  5. If=horizontal
  6. LevelNumbers=no
  7. LineNumbers=no
  8. ScreenFont=Arial,,100,9220,-13,0,400,0,0,0,0,0,0,3,2,1,34
  9. PrinterFont=Courier,,100,2,-41,0,400,0,0,0,0,0,0,2,1,2,49
  10. LastLevelId=9 */
  11.  
  12. /* EasyCODE ( 1
  13.    String example */
  14. #include <stdio.h>
  15. #include <string.h>
  16.  
  17. /* EasyCODE ( 2
  18.    string */
  19.  
  20. /* EasyCODE C */
  21. class string
  22.    {
  23.       char data[80];
  24.    public:
  25.  
  26.       /* EasyCODE ( 3
  27.          copy */
  28.  
  29.       /* EasyCODE F */
  30.       void copy(char *s)
  31.          {
  32.          strcpy(data,s);
  33.          }
  34.       /* EasyCODE ) */
  35.  
  36.       /* EasyCODE ( 4
  37.          string */
  38.  
  39.       /* EasyCODE F */
  40.       string(char *s="")
  41.          {
  42.          copy(s);
  43.          }
  44.       /* EasyCODE ) */
  45.       void read(FILE *fptr);
  46.       /* EasyCODE - */
  47.       void write(FILE *fptr);
  48.  
  49.       /* EasyCODE ( 5
  50.          operator+= */
  51.  
  52.       /* EasyCODE F */
  53.       void operator+=(string &s)
  54.          {
  55.          strcat(data, s.data);
  56.          }
  57.       /* EasyCODE ) */
  58.       friend void convert(string &s,int opt);
  59.    };
  60. /* EasyCODE E */
  61. /* EasyCODE ) */
  62.  
  63. /* EasyCODE ( 6
  64.    string::read */
  65.  
  66. /* EasyCODE F */
  67. void string::read(FILE *fptr)
  68.    {
  69.    int slen;
  70.    fgets(data,80,fptr);
  71.    slen = strlen(data) - 1;
  72.    if (data[slen] == 'n')
  73.       {
  74.       data[slen] = 0;
  75.       }
  76.    return;
  77.    }
  78. /* EasyCODE ) */
  79.  
  80. /* EasyCODE ( 7
  81.    string::write */
  82.  
  83. /* EasyCODE F */
  84. void string::write(FILE *fptr)
  85.    {
  86.    fprintf(fptr, "%s", data);
  87.    }
  88. /* EasyCODE ) */
  89.  
  90. /* EasyCODE ( 8
  91.    convert */
  92.  
  93. /* EasyCODE F */
  94. void convert(string &s,int opt)
  95.    {
  96.    string tempstr;
  97.    switch (opt)
  98.       {
  99.       case '1':
  100.          strupr(s.data);
  101.          break;
  102.       case '2':
  103.          strlwr(s.data);
  104.          break;
  105.       default:
  106.          printf("Sorry, bad option\n");
  107.       }
  108.    }
  109. /* EasyCODE ) */
  110.  
  111. /* EasyCODE ( 9
  112.    Main program */
  113.  
  114. /* EasyCODE F */
  115. void main()
  116.    {
  117.    string str;
  118.    char opt;
  119.    
  120.    printf("Hello friend, enter a string please\n");
  121.    str.read(stdin);
  122.    printf("Enter a conversion option\n");
  123.    printf("1) Convert to upper case\n");
  124.    printf("2) Convert to lower case\n");
  125.    opt = getchar();
  126.    convert(str,opt);
  127.    printf("The converted string is: ");
  128.    str.write(stdout);
  129.    printf("\n");
  130.    }
  131. /* EasyCODE ) */
  132. /* EasyCODE ) */
  133.